1. Field of the Invention
The present invention relates to visual programming tools and, more particularly, to a user interface technique that enables visual programming of state information using a visual switch object.
2. Background Information and Description of the Related Art
Visual programming tools are becoming very popular because they allow non-programmers to create useful computer applications without resorting to traditional programming languages. However, many abstract functions used in traditional programming languages are still necessary for certain applications and, therefore, require visual representations for non-programmers. The state of the program is one such abstract function.
For example, consider programming a simple four function calculator that provides plus, minus, times, and divide operations. The action taken on the press of any key (e.g. digit, operator, decimal, clear, etc.) depends on the type of key last pressed. Programming languages typically perform such actions by first establishing variables for holding flags or the value of the keys themselves. These variables control decision statements that choose the correct action to perform for the current key press. As such, the variables preserve the "state" of the program.
Some conventional visual programming tools, such as Microsoft's VisualBasic.TM., require that such decisions be coded using programming language statements. The Digitalk PARTS.TM. Visual Builder permits users to create visual variables using programming language statements and then connect, or link, those variables to build an application. However, both of these approaches require the user to have a programming mentality that involves recognizing the need to create a variable that holds the state information and then specifying tests on that variable to determine the next step. Typical non-programming users are not trained in such concepts and are not likely to devise them on their own.
Accordingly, there is a need for a visual programming tool that enables a user to visually program state information using a visual switch object.